113A - Grammar Lessons - CodeForces Solution


implementation strings *1600

Please click on ads to support us..

Python Code:

import sys, os, io
input = io.BytesIO(os.read(0, os.fstat(0).st_size)).readline

s = list(input().rstrip().decode().split())
x = ["lios", "liala", "etr", "etra", "initis", "inites"]
n = len(s)
u = [-1] * n
for i in range(n):
    s0 = s[i]
    for j in range(6):
        if s0[-len(x[j]):] == x[j]:
            u[i] = j
            break
if n == 1:
    ans = "YES" if u[0] ^ -1 else "NO"
    print(ans)
    exit()
v = []
la = u[0]
for i in u:
    if la ^ i:
        v.append(la)
        la = i
v.append(la)
ans = "YES"
if min(v) == -1:
    ans = "NO"
for i in range(len(v) - 1):
    if not v[i] + 2 == v[i + 1]:
        ans = "NO"
if not u.count(2) + u.count(3) == 1:
    ans = "NO"
print(ans)


Comments

Submit
0 Comments
More Questions

1711B - Party
1702D - Not a Cheap String
1714F - Build a Tree and That Is It
1703F - Yet Another Problem About Pairs Satisfying an Inequality
610A - Pasha and Stick
1200A - Hotelier
1091A - New Year and the Christmas Ornament
1352B - Same Parity Summands
1102A - Integer Sequence Dividing
630B - Moore's Law
1004A - Sonya and Hotels
1680B - Robots
1690A - Print a Pedestal (Codeforces logo)
1295A - Display The Number
1077A - Frog Jumping
1714G - Path Prefixes
1369C - RationalLee
289B - Polo the Penguin and Matrix
1716A - 2-3 Moves
1670B - Dorms War
1716B - Permutation Chain
987A - Infinity Gauntlet
1676G - White-Black Balanced Subtrees
1716D - Chip Move
1352F - Binary String Reconstruction
1487B - Cat Cycle
1679C - Rooks Defenders
56A - Bar
1694B - Paranoid String
35A - Shell Game